var express = require('express');
var router = express.Router();

const AlipayFormData = require('alipay-sdk/lib/form').default
const alipaySdk = require('./alipay')

router.post("/pcpay", async(req, res) => {
      const {jine,miaoshu} = req.body
      const formData = new AlipayFormData()

      formData.setMethod('get');
      // 通过addField增加参数
      // 在用户支付完成之后，支付宝服务器会根据传入的notify_url,以post请求的形式将支付结果作为参数通知到商户系统
      // 支付成功或失败都返回
      formData.addField('returnUrl', "http://localhost:3000/cate");// 支付成功后跳转的地址
      formData.addField('bizContent', {
          out_trade_no:new Date,//订单号 64个字符以内 可包含字母、数字、下划线、且不能重复
          product_code: "FAST_INSTANT_TRADE_PAY",//销售产品码，与支付宝签约的产品码名称，仅支持FAST_INSTANT_TRADE_PAY
          total_amount: jine,// 订单总金额
          subject: miaoshu,// 订单描述
          body: '哈哈哈',// 商品描述
      })
      // 返回promise
      const result = await alipaySdk.exec(
          'alipay.trade.wap.pay',//统一收单下单并支付页面接口,
          {},//api请求的参数（包含 “公共请求参数”和“业务参数”）
          { formData: formData }// result为可以跳转支付链接的url
      )
      // res.json({ url: result })
      res.send({
        code:200,
        result
      })

})

module.exports = router;
